Pular para o conteúdo principal

Notificações Push no iOS

Aqui você aprenderá como configurar todas as funções do SDK do Group Link para suportar Notificações Push em seu aplicativo.

Passo 1 - Ativar a Entitlement de Notificação Push

Na aba Signing & Capabilities das configurações do seu alvo, clique no botão “+ Capability” e adicione a capacidade Push Notification.

Passo 1.1

Página de Signing & Capabilities

Passo 1.2

Tela de Capacidade de Notificação Push

Ativar o modo de background necessário

O suporte a Notificações Push do framework Group Link precisa da permissão de Notificação Remota dentro da entitlement de Modos de Fundo para funcionar corretamente.

Passo 1.3

Passo 2 - Pedir Permissão

Agora, para pedir permissão ao usuário para mostrar notificações, abaixo está o código de como implementar essa função.

Implementação em Swift - Com Badges

let center = UNUserNotificationCenter.current()
func requestNotification() {
center.requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
if let error = error {
print("Erro ao pedir notificações: \(error)")
}
print("usuário concedeu notificação")
// Habilitar ou desabilitar recursos com base na autorização.
}
}

Implementação em Swift - Sem Badges

let center = UNUserNotificationCenter.current()
func requestNotification() {
center.requestAuthorization(options: [.alert, .sound]) { granted, error in
if let error = error {
print("Erro ao pedir notificações: \(error)")
}
print("usuário concedeu notificação")
// Habilitar ou desabilitar recursos com base na autorização.
}
}

Implementação em Objective-C

- (void)askNotificationPermission {
UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert + UNAuthorizationOptionSound)
completionHandler:^(BOOL granted, NSError * _Nullable error) {
// Habilitar ou desabilitar recursos com base na autorização.
}];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}

Chame essa função em qualquer lugar do seu aplicativo. No próximo exemplo, usaremos o início do aplicativo.

Implementação em SwiftUI

@main
struct Group_Link_SettingsApp: App {
init() {
self.requestNotification()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

Implementação em UIKit

class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
self.requestNotification()
return true
}
}

Implementação em Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self askPermission];
return YES;
}

Passo 3 - Registrar para Notificações Push

Em seguida, você deve implementar o UIApplication.shared.registerForRemoteNotifications() dentro da função didFinishLaunchingWithOptions no seu arquivo AppDelegate. Se você estiver usando SwiftUI para desenvolver, precisará usar o UIApplicationDelegateAdaptor para implementar.

Implementação em Swift

class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
UIApplication.shared.registerForRemoteNotifications()
return true
}
}
@main
struct Group_Link_SettingsApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

Implementação em UIKit

class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
UIApplication.shared.registerForRemoteNotifications()
return true
}
}

Implementação em Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application registerForRemoteNotifications];
return YES;
}

Passo 4 - Configurando a Extensão de Notificações Push

Para receber os KPIs de notificações para o seu aplicativo, você precisará configurar a extensão de notificação no seu app. Para configurar, basta seguir o guia abaixo.

Configurando a Extensão de Serviço de Notificação

Primeiro, você deve criar uma Notification Service Extension, é simples, basta ir à aba Geral do seu arquivo de projeto e, no menu de alvos, clicar no sinal de mais.

Passo 6.1

Sinal de mais de Extensões dentro do seu projeto

Após clicar, uma janela aparecerá para selecionar o tipo de extensão que você deseja. A Apple fornecerá uma variedade de extensões para o seu aplicativo, mas você escolherá a Notification Extension Service, essa extensão tem como objetivo implementar notificações ricas, como notificações com imagens, URLs e mais dados.

Passo 6.2

Menu de Extensão de Serviço de Notificação

O Xcode perguntará se você deseja depurar a Notification Service Extension em vez do seu aplicativo. Clique em Ativar ou Cancelar para continuar depurando seu aplicativo.

Step 6.2

Tela de Depuração de Extensão